package br.gov.sjc.aluguelsocial;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
import br.gov.sjc.classes.NumeroSias;
import br.gov.sjc.classes.Telefone;
import br.gov.sjc.utils.Sair;

public class TelefoneAct extends Sair{
	String TAG = "TelefoneAct";
	private static final int INCLUIR = 0;
	private static final int ALTERAR = 1;
	Telefone telefone;

	//Pega o numero do Sias em uso atual
	NumeroSias ns = new NumeroSias();
	int NumSias = ns.getNumeroDaFamilia();
	int idMembroSias = ns.getNumeroDoMembroDaFamilia();

	// Declara Buttons
	Button btnTVoltar, btnTIr, btnTSalvar, btnTNovo;
	// Declara TextViews e LV
	EditText tbTDDD, tbTelefone, tbTelefone2, etContato;
	// Declara o Spinner
	Spinner spTTipo, spUtilizacao;

	// Declara TextViews e LV
	ArrayAdapter<CharSequence> adpTTipo;
	ArrayAdapter<CharSequence> adpUtilizacao;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.telefone);
		registerBaseActivityReceiver();
		try
		{
			final Bundle dataT = (Bundle)getIntent().getExtras();
			int lint = dataT.getInt("tipoT");
			Log.i(TAG.toString(), "dataT.getInt = "+lint);
			if (lint == INCLUIR)
			{
				Log.i(TAG.toString(), "lint == INCLUIR ");
				//quando for incluir um contato criamos uma nova inst�ncia
				telefone = new Telefone(); 
				Log.i(TAG.toString(), "telefone = new Telefone(); ");
			}else{
				Log.i(TAG.toString(), "lint == ALTERAR ");
				//quando for alterar o contato carregamos a classe que veio por Bundle
				telefone = (Telefone)dataT.getSerializable("telefone");
				Log.i(TAG.toString(), "telefone = (Telefone)dataT.getSerializable('telefone'); ");
			}

			//Criação dos objetos da Activity
			tbTDDD = (EditText) findViewById(R.telefone.tbDDD);
			tbTelefone = (EditText) findViewById(R.telefone.tbTelefone);
			tbTelefone2 = (EditText) findViewById(R.telefone.tb2Telefone);
			etContato = (EditText) findViewById(R.telefone.etTContato);
			spTTipo = (Spinner) findViewById(R.telefone.spTTipo);
			spUtilizacao = (Spinner) findViewById(R.telefone.spTUtilizacao);

			// Spinner 
			adpTTipo = ArrayAdapter.createFromResource(
					this, R.array.TipoTelefone,
					android.R.layout.simple_spinner_item);
			adpTTipo.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
			spTTipo.setAdapter(adpTTipo);

			// Spinner 
			adpUtilizacao = ArrayAdapter.createFromResource(
					this, R.array.Utilizacao,
					android.R.layout.simple_spinner_item);
			adpUtilizacao.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
			spUtilizacao.setAdapter(adpUtilizacao);
			
			//Carregando os objetos com os dados
			//caso seja uma inclusão ele vir� carregado com os atributos text
			//definido no arquivo main.xml
			
			int SiasNstr = telefone.getSiasN();
			tbTDDD.setText(telefone.getDDD());
			
			String Telefone1,Telefone2, TelefoneCompleto;
			
			TelefoneCompleto = telefone.getTelefone().replace("-","");
			Telefone1 = TelefoneCompleto.substring(0,4);
			Telefone2 = TelefoneCompleto.substring(4,8);
			
			tbTelefone.setText(Telefone1);
			tbTelefone2.setText(Telefone2);
			etContato.setText(telefone.getContato());
			
			spTTipo.setSelection(adpTTipo.getPosition(telefone.getTipoTelefone()));
			spUtilizacao.setSelection(adpUtilizacao.getPosition(telefone.getTipoUtilizacao()));

		}catch (Exception e) {
			Log.e(TAG,"onCreate - Erro : " + e.getMessage());
		}
	}
	
    public void btnTelefoneConfirmar_click(View view)
    {
    	int erro = 0;
    	String msg = "";
    	String recados = String.valueOf(adpUtilizacao.getItem(spUtilizacao.getSelectedItemPosition()));
        try
        {
        	if (recados.equals("Recado")){
        		if(etContato.getText().toString().equals("")){
            		msg += "Campos Contato é Obrigatório";
            		msg +="\n"; 
            		erro++;
        		}
        	}
        	if (tbTDDD.getText().toString().equals("")||tbTelefone.getText().toString().equals("")||tbTelefone2.getText().toString().equals("")){
        		msg += "Os Campos DDD e Telefone são Obrigatórios";
        		msg +="\n"; 
        		erro++;
        	}
        	if (erro == 0){
            //Quando confirmar a inclusão ou altera��o deve-se devolver
            //o registro com os dados preenchidos na tela e informar
            //o RESULT_OK e em seguida finalizar a Activity
             
            Intent data2 = new Intent();
            telefone.setSiasN(Integer.valueOf(NumSias));
            telefone.setTipoTelefone(String.valueOf(adpTTipo.getItem(spTTipo.getSelectedItemPosition())));
            telefone.setTipoUtilizacao(String.valueOf(adpUtilizacao.getItem(spUtilizacao.getSelectedItemPosition())));
            telefone.setDDD(tbTDDD.getText().toString());
            telefone.setTelefone(tbTelefone.getText().toString()+tbTelefone2.getText().toString());
            
			telefone.setContato(etContato.getText().toString());
			
            data2.putExtra("telefone", telefone);
            setResult(Activity.RESULT_OK, data2);   
            finish();
        	}else{
        		Toast.makeText(this, msg, Toast.LENGTH_LONG).show(); 
        	}
        }catch (Exception e) {
        	Log.e(TAG,"btnTrabalhoConfirmar_click - Erro : " + e.getMessage());
        }
    }
    
    public void btnTelefoneCancelar_click(View view)
    {
        try
        {
            //Quando for simplesmente cancelar a opera��o de inclusão
            //ou altera��o deve-se apenas informar o RESULT_CANCELED
            //e em seguida finalizar a Activity

            setResult(Activity.RESULT_CANCELED);
            finish();
        }catch (Exception e) {
        	Log.e(TAG,"btnTelefoneCancelar_click - Erro : " + e.getMessage());
        }             
    }
    
    @Override
    protected void onDestroy() {
    	super.onDestroy();
    	unRegisterBaseActivityReceiver();
    	finish();
    }
}
